Gitコマンドを快適に使う環境を整える
こんにちは、CX事業本部の岡です。
みなさんGitクライアント何使ってますか?
SouthTree?GitUp?Github Desktop?
GUIクライアントももちろん素晴らしいですが、CUIクライアントの方がなんだかんだ使いやすかったりしますよね。
今日はGitコマンドを快適に使う為の設定方法をご紹介します。
認証設定
プロジェクトによってGitHubを使ったりCodeCommitを使ったりするので credential
の設定はlocalで管理するようにします。
GitHub
GitHubにHTTPS経由でアクセスする場合、毎回認証情報を求められるので osxkeychain
を使って
認証情報を記憶させます。
brewでgitをインストールしている場合は標準で入っていると思います。
$ git config --local credential.helper osxkeychain
ローカルの設定ファイルの、originの@github.comの前にユーザー名を追加します。
$ git config --local -e [origin] https://<user-name>@github.com/<account-name>/<repository-name>.git
account-name
はteamリポジトリであればteam名、個人アカウントであればユーザー名です。
一回パスワードを入力すればOKです。
CodeCommit
AWS CLIのプロファイルを以下とします。CLIの設定方法はここでは割愛します。
MFAデバイス設定済でスイッチロールでアクセスする場合のプロファイルになります。
[profile oka_source] region = ap-northeast-1 mfa_serial = arn:aws:iam::<source-account-id>:mfa/<role-name> output = json [profile oka_switch] region = ap-northeast-1 role_arn = arn:aws:iam::<switch-account-id>:role/<role-name> source_profile = oka_source output = json
スイッチ元アカウント: oka_source
スイッチ先アカウント: oka_switch
ローカルの設定ファイルを開きます。
$ git config --local -e
credential
セクションに以下を記述します。
[credential] helper = "!aws codecommit credential-helper --profile oka_switch $@" UseHttpPath = true
oka_sourceのMFAのワンタイムパスワードを求められるので入力します。
ワンタイムパスワードは毎回入力せざるを得ないので、私は1passwordを使ってショートカットでデスクトップアプリを起動してコピペしてます。
1Password CLIを使ってターミナルに表示させる方法もあるので、参考にしてみてください。
エイリアス設定
エイリアス設定に関しては弊部の藤井の記事で紹介されているのでこちらをパクります。
[alias] br = branch mg = merge --no-ff cp = cherry-pick lg = log --oneline ad = add -u cm = commit -m sw = switch swc = switch -c rs = restore rss = restore --staged
checkoutの代わりにGitの2.23.0から追加された switch
と restore
を追加してみました。
設定方法については割愛しますので上記の記事を参照してください。
エイリアス設定(bash)
ついでにbashのエイリアスでgitコマンドをgで打てるようにします。
$ vi ~/.bash_profile 以下を追記 alias g="git" $ source ~/.bash_profile
こんな風に打てるようになります。
設定前 $ git log --oneline 設定後 $ g lg 246exxx (HEAD -> feature/hoge, origin/feature/hoge) Merge 458cxxx アラートを追加 10d9xxx エラーハンドリングを追加 eae1xxx バリデーション修正